#ifndef _BLOCKBREAKER_GAME_PLAYERINPUTGAMEEVENT_H__
#define _BLOCKBREAKER_GAME_PLAYERINPUTGAMEEVENT_H__

#include <Game/Include/GameEvent.h>

class PlayerInputGameEvent : public GameEvent
{
public:
    typedef enum
    {
        SPACE_BAR_PRESSED,
        RIGHT_ARROW_PRESSED,
        LEFT_ARROW_PRESSED,
        SPACE_BAR_RELEASED,
        RIGHT_ARROW_RELEASED,
        LEFT_ARROW_RELEASED
    }PlayerInputType;

    PlayerInputGameEvent(const int &player_id, const PlayerInputType &input_type);
    PlayerInputGameEvent(std::istream &s);
    virtual ~PlayerInputGameEvent(void);

    unsigned int serialize(std::ostream &s);

    int getPlayerId() const;
    PlayerInputType getPlayerInput() const;

private:
    int player_id;
    PlayerInputType input_type;
};

#endif // _BLOCKBREAKER_GAME_PLAYERINPUTGAMEEVENT_H__
